打包与发布
This document guides you how to package and distribute NW.js based app.
快速开始
可以使用以下工具自动完成打包NW.js应用进行发布 .
或者可以使用以下步骤手动构造应用 .
准备应用
打包前 , 需要准备所有必要的文件 , 以下是需要检查的信息 , 不可缺少 .
- [ ] 代码和资源文件
- [ ] NPM模块 , 可以执行
npm install
- [ ] 应用中使用的本地模块
- [ ] NaCl
- [ ] 已编译代码以及删除原始文件
- [ ] 配置文件中使用的图标
!!! 警告
nodejs模块在一个平台可用不代表其他平台运行没有问题 . 例如node-email-templates
能够在Windows和Mac OS X系统通过npm install
命令进行安装 . 此外 , 需要python环境 , Windows系统默认不安装 .
根据经验 , 为了确保不出问题 , 在想要运行应用的每个平台上安装相关的Nodejs模块 , 并进行打包 .
!!! 注 "文件名和路径"
在大多数Linux系统以及部分Mac OS X系统中 , 文件系统是大小写敏感的 . 既test.js
和Test.js
是不同的文件 . 确保路径以及文件名使用正确 .
!!! 注 "Windows系统中的长路径"
Windows系统中应用中使用的路径最大长度不能超过260个字符 . 如果过长 , 打包过程将会报错 . 该问题通常发生在使用低于3.0版本的NPM安装依赖包的过程 . 为了避免这个问题的发生 , 建议在根目录中构造引用 , 比如C:\build\
.
准备NW.js
应用可以选择不同的NW.js构造方式 , NW.js提供多种构造方式以便满足不同的需求以及应用大小 . 选择适当的构造方式或者源码构造
应用重新分配NW.js包含的所有文件 , 除了SDK构造方式包含的nwjc
, payload
以及chromedriver
.
打包引用
两种打包方式: 普通文件和ZIP文件
方式 1. 普通文件 (推荐)
Windows和Linux系统 , 可以将应用的文件放到NW.js目录下 , 确保nw
(或者nw.exe
)与package.json
在同级目录下 . 或者将应用文件放入名为package.nw
目录中 , 该目录与nw
(或者nw.exe
)在同级目录下 . 需要注意 , package.json需要在package.nw目录中 .
Mac系统 , 将应用相关文件放入名为app.nw
中 , 同时将该文件添加到nwjs.app/Contents/Resources/
中 . 同样 , package.json
需要在app.nw
中 .
推荐使用普通文件打包方式 .
方式 2. ZIP文件
你可以将应用相关文件打包到名为package.nw
的ZIP文件中 . Windows和Linux系统 , 将package
文件放入与nw
(或者nw.exe
)同级目录中 . Mac系统中 , 将package.nw
文件放入nwjs.app/Contents/Resources/
目录下 .
You can package all the files into a zip file and rename it as package.nw
. And put it along with NW.js binaries for Windows and Linux. For Mac, put package.nw
in nwjs.app/Contents/Resources/
.
!!! 警告 "包过大或包中文件数过多引起的开始加载慢" 运行开始 , NW.js需要加压包内文件到临时目录 , 之后进行加载 . 包过大或包中文件过多会引起开始运行变慢 .
Windows和Linux系统 , 可以将ZIP文件和nw(或者nw.exe
)进行合并为一个文件
Windows系统运行命令如下:
copy /b nw.exe+package.nw app.exe
Linux系统运行命令如下:
cat nw app.nw > app && chmod +x app
系统特性
Windows
nw.exe
图标替换工具 , 如Resource Hacker nw-builder node-winresourcer.
你可以创建一个安装程序完成应用文件的安装 , 如Windows Installer NSIS Inno Setup.
Linux
应用需要创建.desktop
文件.
创建自解压安装脚本 , 可以使用shar
makeself
.
可以通过系统包管理工具发布应用 , 如apt
, yum
, pacman
等 , 请参考官方文档进行打包 .
Mac OS X
On Mac OS X, you need to modify following files to have your own icon and bundle id: Mac OS X系统中 , 需要修改以下文件:
Contents/Resources/nw.icns
: 应用图标.nw.icns
遵循苹果图标图片格式. 可以使用Image2Icon将PNG/JPEG格式转换为ICNS格式图片 .Contents/Info.plist
: 描述文件. 查看关于面板的Cocoa标准, 该文件将影响应用以及相关属性修改 .
应用需要进行签名 . 参考应用签名及安装 .
参考
查看wiki获取更多应用打包工具 .